package com.sh.data.engine.domain.datadev.flink.model.domain;

import lombok.Data;

import java.time.LocalDateTime;
import java.util.Map;

/**
 * @author : fuchen
 * @date : 2021/7/15 17:07
 */
@Data
//@ApiModel(value = "hive表")
public class HiveTableInfoDomain {

    //    @ApiModelProperty(value = "hive元数据库Db Id")
    private Long metaDbId;

    //    @ApiModelProperty(value = "hive元数据库Table Id")
    private Long metaTableId;

    //    @ApiModelProperty(value = "数据库名称")
    private String dbName;

    //    @ApiModelProperty(value = "表名")
    private String tableName;

    //    @ApiModelProperty(value = "表注释")
    private String tableComment;

    //    @ApiModelProperty(value = "表大小")
    private Long totalSize;

    //    @ApiModelProperty(value = "表的生命周期")
    private Integer tableLifeCycle;

    /**
     * 最新更新时间
     */
//    @ApiModelProperty(value = "最新更新时间")
    private Long lastDdlTime;

    //    @ApiModelProperty(value = "主键字段")
    private String primaryKey;

    //    @ApiModelProperty(value = "模型层级id")
    private Long ruleMetaValueId;

    //    @ApiModelProperty(value = "表权限")
    private String accessMode;

    //    @ApiModelProperty(value = "ext property map")
    private Map<String, String> propertyMap;

    //    @ApiModelProperty(value = "表类型 MANAGED_TABLE(内部表) EXTERNAL_TABLE(外部表) VIRTUAL_VIEW(视图)")
    private String tblType;

    /**
     * 是否是分区表
     */
//    @ApiModelProperty(value = "是否是分区表")
    private boolean isPartitionTable;

    //    @ApiModelProperty(value = "创建人")
    private String creator;

    //    @ApiModelProperty(value = "修改人")
    private String modifier;

    //    @ApiModelProperty(value = "创建时间")
    private LocalDateTime gmtCreate;
}
